User guide — build deployment-ready Windows images with the right drivers baked in.
Window Image Builder is a DISM-based tool for producing deployment-ready Windows images with the
correct drivers already integrated. You move left to right through the rail: pick a base image, choose
driver packs, set cleanup and provisioning, then integrate to a bootable ISO or an updated offline image.
It wraps the standard Windows servicing tools (DISM for mounting/injection, oscdimg for ISO
creation) behind a simple wizard, and adds first-class online driver catalogs for Dell, HP and Lenovo.
| Requirement | Why |
|---|---|
| Windows 64-bit, run as Administrator | DISM mounts the offline image, which needs elevation. |
Windows ADK — Deployment Tools (oscdimg.exe) | Required to write bootable ISOs. Install the minimum feature from Settings → Prerequisites. |
| Windows ADK — Windows PE add-on (optional) | Only needed if you tick "Also inject storage drivers into the boot image" (for RAID / Intel VMD machines). A separate download from the Deployment Tools, installed at the same ADK version. The Prerequisites tab shows it in amber when missing; the build warns before it starts. Not needed for AHCI/NVMe targets or VMs. |
| Internet | For online Dell / HP / Lenovo catalog downloads, the ADK download, and Microsoft 365 provisioning (which downloads on the target at first boot). |
| ≥ 300 GB free on the working drive | Mounting a WIM, staging drivers, temporary copies, and a multi-gigabyte ISO add up. The Prerequisites tab flags anything under 300 GB. |
All the heavy lifting — mounting the WIM, staging drivers, and assembling the ISO — happens in a
working folder. By default it sits next to your source image, or under
%TEMP%\WinIDI-Work; if left unset the engine falls back to
%ProgramData%\WinImageDriverIntegrator. You can redirect it on the
Build screen (Working folder → Browse).
logs subfolder of the working folder. The
Settings → Prerequisites tab shows the working drive and its free space, and turns red below 300 GB.Downloaded driver packs are cached under …\WinIDI-Work\downloads and reused on later
builds, so you don't re-download the same pack. Each model's cached revision is tracked: when the catalog
lists a newer revision for a model, the stale copy (and its extracted folder) is removed
and the latest is fetched automatically; otherwise the cached pack is extracted and injected as-is.
After a successful build the temporary folders (the mount, the extracted driver tree, and
any ISO-staging folders) are cleaned up automatically — only the downloads .zip
cache is kept, so the next build is faster but the working drive isn't left full of scratch files.
Driver packs are a first-class, built-in online source for all three major business OEMs. In
Drivers, choose Online (OEM catalog), pick the vendor
(Dell, HP or Lenovo) and the OS, click Reload, then search your model (e.g. PB13250)
or click Detect to match the current machine. Tick the pack(s) and continue. You can switch
vendors and tick packs from more than one — selections are kept by value, so they survive a reload.
Each vendor publishes a machine-readable driver-pack catalog, which is what makes this possible:
.zip or .cab, one per model/OS; each row is tagged with its source.HPClientDriverPackCatalog.cab (a CAB holding an XML that maps each model + OS to a SoftPaq); packs are self-extracting .exe SoftPaqs.catalogv2.xml, listing each model's SCCM/MDT driver pack; packs are self-extracting .exe.The tool downloads the pack, then extracts it for you and hands the resulting .inf tree
straight to DISM. Dell .zip packs unzip directly; HP SoftPaqs are extracted with
/s /e /f and Lenovo packs with /VERYSILENT /EXTRACT=YES — no manual unpacking.
.inf files, extract it by hand and add the folder via
Local drive (section 6) — the Log shows exactly which extract command was tried.For anything outside the three online catalogs (Surface, an older pack, an air-gapped build, or a pack
you've already extracted), switch Drivers to Local drive (.zip / .cab / folder)
and add it yourself. The tool injects any folder that ultimately contains .inf files
(it recurses), or a .zip / .cab.
# HP SoftPaq (.exe) — silent extract to a folder
sp#####.exe /s /e /f "C:\Drivers\HP-Model"
# Lenovo pack (.exe) — silent extract to a folder
pack.exe /VERYSILENT /DIR=C:\Drivers\Lenovo-Model /EXTRACT=YES
# .zip / .cab — just extract (7-Zip works fine)
# right-click → 7-Zip → Extract to "Vendor-Model\"
.inf / .cab / .zip items).Tick the provisioned apps you want removed (Xbox components, consumer / sponsored apps, Teams consumer chat, Skype, and so on). Core apps — Store, Calculator, Notepad, Photos, Paint, Snipping Tool — are always protected. Leave everything unticked to leave the image as-is.
Block consumer app auto-install. A separate checkbox that stops Windows from silently
downloading promoted Store apps (WhatsApp, Spotify, Instagram, TikTok…) on first internet connection — the
Content Delivery Manager. This is a different mechanism from the app list above:
removing provisioned appx strips what's baked into the image, but the Content Delivery Manager re-downloads
its own cloud list onto each new user profile the moment it goes online — which is why a debloated image
otherwise gets those apps back. The option seeds the reliable per-user keys into the image's
default-user profile (ContentDeliveryManager\SilentInstalledAppsEnabled=0 and
related), so every new user inherits them, and adds the machine policy
CloudContent\DisableWindowsConsumerFeatures=1 (honored on Enterprise/Education; harmless on Pro).
It works whether or not you remove any apps above.
Tick Enable .NET Framework 3.5 to turn on the legacy .NET runtime (which also carries 2.0 / 3.0) in the image — for older line-of-business apps that still depend on it. .NET 4.x is already built into Windows 11, so only 3.5 is offered here.
WinIB enables it offline during the build with
DISM /Enable-Feature /FeatureName:NetFx3 /All /Source:<ISO>\sources\sxs /LimitAccess,
taking the payload from the ISO's own sources\sxs folder. That way the deployed PC never has
to fetch 3.5 from Windows Update on first use — the usual failure on offline or locked-down machines.
sources\sxs, the step is skipped with
a note in the build log rather than failing the build.Tick Include Visual C++ Runtimes to bundle Microsoft's Visual C++ v14 redistributables (shared across Visual Studio 2015–2026) — the runtimes a great many desktop apps hard-depend on. WinIB downloads the latest supported version on the build PC, stages it into the image, and installs it silently at first boot. x64 and x86 are both included by default (many 32-bit apps need the x86 runtime even on 64-bit Windows); ARM64 is an optional tick for Copilot+ / ARM devices.
Unlike .NET 3.5 and drivers, the VC++ redistributables are installers, not DISM packages,
so they can't be injected into the offline image — they run once on the deployed PC via
SetupComplete.cmd, as SYSTEM, after drivers and networking are up. Install results are logged to
C:\WIB\Logs\vcredist.log, with exit codes 0 (installed), 3010
(installed, reboot pending) and 1638 (a newer version already present) all treated as success.
DemoAdmin, editable), No password, Auto sign-in, and Bypass OOBE to skip the setup screens.en-SG) and Keyboard (e.g. 0409:00000409). The UI language stays en-US unless a language pack is added.C:\BGInfo and run at each logon..xml, key=clear) imported for all users at first boot, plus an optional .ps1 that runs once after drivers install (e.g. an AX211 profile script).%TEMP%\WIB-M365.log..msu / .cab packages (e.g. exported from WSUS). Either way, DISM cannot query Windows Update live for an offline image, so the deployed PC still receives newer updates from Windows Update as normal.The presets are vendor-neutral — "OEM Ready Image" just refers to the factory sizing convention (a large 1500 MB ESP), not to any specific manufacturer. Both presets produce the same kind of UEFI/GPT layout on any UEFI machine (Dell, HP, Lenovo, whitebox, or VM); only the partition sizes differ.
When you pick a preset, the tool writes a windowsPE-pass <DiskConfiguration> into
the autounattend.xml at the ISO root. During a clean install, Windows Setup reads that answer file
and partitions Disk 0 for you — no interactive "Where do you want to install Windows?"
screen. The disk is created with four partitions:
| # | Partition | OEM Ready Image | Standard UEFI | Format |
|---|---|---|---|---|
| 1 | Recovery (WINRETOOLS) | 1000 MB | 1000 MB | NTFS |
| 2 | EFI System (ESP) | 1500 MB | 500 MB | FAT32 |
| 3 | Microsoft Reserved (MSR) | 128 MB | 16 MB | — |
| 4 | Windows (OS, C:) | fills the disk | fills the disk | NTFS |
Key mechanics:
WillWipeDisk is set, so everything on disk 0 is erased
before the new layout is created. That is why these presets must be validated in a VM first.InstallTo)
and accepts the EULA automatically, so the disk and image steps need no clicks. (The tool exports a single
edition into install.wim, so there is nothing to choose.)Extend to consume the rest. A static answer file can't compute
"disk size minus recovery", so an Extend'd OS can only sit last — placing recovery first is the
Microsoft-documented way to get both an OS that fills the disk and a dedicated recovery partition.
It's functionally equivalent to a vendor's end-placed recovery (WinRE still lives in its own partition); the
only practical difference is cosmetic ordering and that a front recovery isn't auto-grown by later feature
updates.DE94BBA4-06D1-4D40-A16A-BFD50179D6AC) so Windows places winre.wim there and
reagentc /info reports recovery as enabled.DiskConfiguration at all — Setup behaves exactly as before (you pick/keep partitions during the
install), and modern Setup already creates an end-placed recovery partition on its own.On the Drivers page, "Also inject storage drivers into the boot image" adds the selected
storage-controller drivers (Intel RST / VMD) into boot.wim — both WinPE (index 1) and Setup
(index 2) — so Windows Setup can see the disk on machines with RAID / Intel VMD enabled in
BIOS, with no manual Load Driver. ISO builds only; it makes the build a little slower and
boot.wim larger. Leave it off for AHCI/NVMe machines or VMs.
Add .msix / .appx packages to provision into the image
(DISM /Add-ProvisionedAppxPackage).
Ship your own payloads and run scripts at first boot. Two lists, each capped at 10:
C:\WIB\Scripts (numbered 01-, 02-…) and launched from
SetupComplete.cmd at first boot. Each call blocks until the script exits, so they run as a
daisy chain — use the order numbers to sequence dependencies.C:\WIB\Files on the deployed PC (folders keep their name) and exposed to your scripts via
the %WIB_FILES% environment variable, e.g.
Start-Process "$env:WIB_FILES\app\setup.exe".Worked example — Visual C++ Redistributables. A common first-boot job. Add
vc_redist.x64.exe and vc_redist.x86.exe (Microsoft's 2015–2022 / VC++ 14.x
runtimes) to the Files list, and a short .ps1 to the Scripts list that
installs each silently from %WIB_FILES%, e.g.
Start-Process "$env:WIB_FILES\vc_redist.x64.exe" -ArgumentList '/install','/quiet','/norestart' -Wait.
Add both x64 and x86 — many 32-bit apps need the x86 runtime even on 64-bit Windows. Treat
exit codes 0 (installed), 3010 (installed, reboot pending) and 1638
(a newer version already present) as success.
Live status indicators: the ADK Deployment Tools (oscdimg, required for
bootable ISOs), the Windows PE add-on (amber/optional — only needed when you tick
inject storage drivers into the boot image), internet, and the working
drive's free space (300 GB). Re-check on demand, install the minimum ADK feature in one click,
or open the ADK / WinPE add-on pages.
The WinPE add-on is a separate installer from the main ADK — the Deployment Tools
(oscdimg) do not include it (Microsoft split WinPE into its own download from the
Windows 10 1809 ADK onward). You only need it for boot-image servicing; for everything else you can
ignore the amber indicator. To install it:
…\Windows Kits\10\…).…\Assessment and Deployment Kit\Windows Preinstallation Environment\). Requires
administrator approval.…\Windows Preinstallation Environment\amd64\WinPE_OCs) or the baseline winpe.wim.
If the indicator stays amber after installing, confirm the add-on version matches the ADK version, then
Re-check. If you start a boot-image build without it, WinIB warns up-front (and the build log explains any
failure) rather than dropping a cryptic DISM error mid-build.On the Build page, review the summary, set the output ISO path (ISO mode) or update the offline
image in place, and confirm the working folder. Save template writes the whole
configuration (image + editions, OEM and local driver picks, debloat, all provisioning incl. Windows Update
and M365, MSIX, and paths) to a .wibtemplate file; Load template brings it back
for a future build. Click Start Build and the app moves to the Log page —
that's the build console.
On the Log page you get a live log, a progress bar, status, and a Cancel button while it
runs (Cancel safely unmounts). The engine mounts the image, injects the chosen drivers, applies Windows
updates / debloat / provisioning / MSIX, and — in ISO mode — writes a bootable ISO with oscdimg.
While a build runs the app locks down: Home, Image, Drivers and Settings are disabled and
only the Build page, Log and About stay reachable. When it finishes the Log page shows
Build Completed, a Start a new build button, and — if there were any errors
or warnings — View error, which jumps to the first one in the log. You can Copy,
Export log…, or Clear the log, and every build's log is also saved automatically to the
logs subfolder of the working folder.
%TEMP%\WIB-M365.log..inf folders first..wibtemplate on the Build page to reuse a whole configuration later (Load template).